gl renderer: Only check for color glyphs once per text node
authorTimm Bäder <mail@baedert.org>
Thu, 23 Nov 2017 09:10:43 +0000 (10:10 +0100)
committerTimm Bäder <mail@baedert.org>
Thu, 21 Dec 2017 18:12:30 +0000 (19:12 +0100)
It does not depend on the glyph, so no need to do it once for every
glyph.

gsk/gl/gskglrenderer.c

index 5028273434d8bef160f13139a7cd0ced37a7d19b..5bc651d7210a6863b59842025320f08d1acaa872 100644 (file)
@@ -868,6 +868,7 @@ gsk_gl_renderer_add_render_ops (GskGLRenderer   *self,
       {
         const PangoFont *font = gsk_text_node_peek_font (node);
         const PangoGlyphInfo *glyphs = gsk_text_node_peek_glyphs (node);
+        const gboolean has_color_glyphs = font_has_color_glyphs (font);
         guint num_glyphs = gsk_text_node_get_num_glyphs (node);
         int i;
         int x_position = 0;
@@ -905,7 +906,7 @@ gsk_gl_renderer_add_render_ops (GskGLRenderer   *self,
             cy = (double)(gi->geometry.y_offset) / PANGO_SCALE;
 
             /* If the font has color glyphs, we don't need to recolor anything */
-            if (font_has_color_glyphs (font))
+            if (has_color_glyphs)
               {
                 ops_set_program (builder, &self->blit_program);
               }